Open
Conversation
Adds agents/draw.md to the let-fate-decide plugin. This
lets callers dispatch tarot draws as a named agent:
Agent(subagent_type="let-fate-decide:draw",
prompt="What portent awaits?")
instead of the current Agent-wrapped-Skill pattern:
Agent(prompt="Call Skill(let-fate-decide, ...)...")
Benefits:
- Runs on Haiku (model: haiku in frontmatter) -- cheaper
than inheriting the parent model for card interpretation
- Card file content stays in agent context, not caller's
- Caches the draw logic across parallel tarot agents
(shared prefix optimization)
- Simplifies dispatch from 4-line prompt to 1-line
The agent does exactly: Bash(draw_cards.py) -> Read(4
card files) -> return 1-2 sentence reading. Falls back
to "fate unavailable" if the script errors.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review.
Tip: disable this comment in your organization's Code Review settings.
draw_cards.py --content reads card .md files and includes their text in the JSON output. The draw agent now needs exactly 1 Bash call (was 1 Bash + 4 sequential Reads). Saves 4 turns per tarot draw (~8-12 turns per vivisect run). Haiku was ignoring <use_parallel_tool_calls> and reading cards one at a time; this bypasses the issue entirely. Removed Read from agent tools list (no longer needed). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
agents/draw.mdto the let-fate-decide pluginmodel: haikuin frontmatter) for cheap tarot drawsAgent(subagent_type="let-fate-decide:draw", prompt="question")instead of wrappingSkill(let-fate-decide)in a generic AgentChanges (v2)
draw_cards.py --content: new flag that reads card.mdfiles and includes their text inline in the JSON output. The draw agent now completes in 1 Bash call instead of 1 Bash + 4 sequential Reads.agents/draw.md: updated to use--content, removedReadfrom tools list. Agent goes from 5-6 turns to 1 turn per draw.Problem solved: Haiku ignores
<use_parallel_tool_calls>hints and reads the 4 card files sequentially (4 extra turns per draw, ~8-12 wasted turns per vivisect pipeline run with 2-3 draws). By having the Python script read the files directly, no Read calls are needed at all.Motivation
Skills that draw tarot portents in parallel with other work currently require a 4-line Agent prompt telling the sub-agent to call
Skill(let-fate-decide). This named agent replaces that with a 1-line dispatch. Running on Haiku saves cost since card interpretation is simple work.Test plan
uv run scripts/draw_cards.py --contentoutputs JSON with"content"field containing card markdownuv run scripts/draw_cards.py(no flag) still outputs JSON without content (backward compatible)Agent(subagent_type="let-fate-decide:draw", prompt="What portent awaits?")returns a 1-2 sentence reading🤖 Generated with Claude Code